package cn.kgc.bdqn_studentinfomanager.dao.student;

import cn.kgc.bdqn_studentinfomanager.pojo.Model.BdqnStudentinfo;
import cn.kgc.bdqn_studentinfomanager.pojo.dto.AddStudentDto;
import cn.kgc.bdqn_studentinfomanager.pojo.vo.Alldescription;
import cn.kgc.bdqn_studentinfomanager.pojo.vo.GetStudentVo;
import cn.kgc.bdqn_studentinfomanager.pojo.vo.ProvinceAndCityVo;
import cn.kgc.bdqn_studentinfomanager.pojo.vo.StudentinfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * by Shanshui CC on 2020/12/8 10:06
 */
@Mapper
public interface StudentMapper {

    /**
     * 招生老师界面\咨询师  进入时  加载学生信息
     * @param userId
     * @return
     */
    public List<GetStudentVo> queryStudentInfoByconditionId(@Param("userId") String userId, @Param("roleId") String roleId);


    /**
     * 专员界面 进入时  加载学生信息
     * @param userId
     * @return
     */
    public List<GetStudentVo> queryStudentInfoByComm(String userId);
    //查专员下的招生老师招的学生
    public List<GetStudentVo> queryStudentInfoBycon(String parentId);


    /**
     * 通过学生手机号查询学生是否存在
     * @param phone
     * @return
     */
    public Integer queryStudentByPhone(String phone);

    /**
     * 根据用户id查询用户职位
     * @param id
     * @return
     */
    public Integer queryTeacherInfoById(Integer id);


    /**
     * 跳转至添加学生界面时，初始化市
     * @return
     */
    public List<ProvinceAndCityVo> loadingCityByProvinceId(String provinceId);

    /**
     * 跳转至添加学生界面时，初始化省
     * @return
     */
    public List<ProvinceAndCityVo> loadingProvince();


    /**
     * 添加学生信息__在学生表里添加
     */
    public Integer insertStudentInfo(AddStudentDto addStudentDto);
    /**
     * 添加学生信息__在意向描述表里添加
     */
    public Integer insertDescription(AddStudentDto addStudentDto);


    /**
     *  修改学生信息__学生表
     */
    public Integer updateStudentInfo(AddStudentDto addStudentDto);
    /**
     *  修改学生信息__意向描述表
     */
    public Integer  updateDescription(AddStudentDto addStudentDto);

    /**
     * 点击页面时将所有学生信息加载出来
     * @param parentId
     * @return
     */
    public List<GetStudentVo> queryStudentInfo(String parentId);

    /**
     * 根据学生姓名 手机号 招收老师姓名  模糊查询  学生状态
     * 专员旗下招生老师模糊查
     * @param parentId
     * @param condition
     * @param status
     * @return
     */
    public List<GetStudentVo> queryStudentInfoByComm_vague(@Param("parentId") String parentId,
                                                           @Param("condition") String condition, @Param("status") String status);
    //根据学生姓名 手机号 招收老师姓名  模糊查询  学生状态
    public List<GetStudentVo> queryStudentInfoBycon_vague(@Param("parentId") String parentId,
            @Param("condition") String condition, @Param("status") String status);





    public String getProvinceListAndProvince(String studentId);

    public String getCityListAndCity(String studentId);


    //通过学生Id查询当前学生省份的Id
    public String getProvinceIdByStudentId(String studentId);

    /**
     * 查询所有意向描述
     * @param studentId
     * @return
     */
    public List<Alldescription> queryAlldescriptionByStudentId(String studentId);

    public StudentinfoVo queryStudentInfoById(String studentId);

}
